# 2、给定一个非空字符串S，其被N个'-'分隔成N+1个子串。
# 给定正整数K，要求除第一个子串外，其余的子串每K个字符组成新的子串，
# 并用'-'分隔，对于新组成的每一个子串，如果它含有的小写字母比大写字母多，
# 则将这个子串的所有大写字母转换为小写字母；反之，如果它含有的大写字母比小写字母多，
# 则将这个子串的所有小写字母转换为大写字母；大小写字母的数量相等时，不做转换。
# 如，输入：
# S=aDS-AAAadf-gAGdAdga
# K=4
# 输出：
# aDS-AAAA-dfga-GdAd-ga


# 整体的流程下来，还是一步一步的写程序，没能想明白， ---- 急需要 ---

def dealstr(STR1, Kk):
    UpperNums = 0
    for i in STR1:
        if ord(i) < 97:
            UpperNums += 1
    if UpperNums == Kk/2:
        return STR1
    elif UpperNums > Kk/2:
        return STR1.upper()
    else:
        return STR1.lower()

Ls = input()
Sk = int(input())
Lout = []
Ls1 = s1 = ''
for i in range(len(Ls)):
    if Ls[i] != '-':
        s1+=Ls[i]
    else:
        Ls = Ls[i+1:]
        break
for i in Ls:
    if i != '-':
        Ls1 +=i
Lout.append(s1)
while len(Ls1) >= 1: # 设计算法还是很差
    if len(Ls1) > Sk:
        Lout.append(dealstr(Ls1[:Sk],Sk))
        Ls1 = Ls1[Sk:] # 会出BUG的点
    else:
        Lout.append(dealstr(Ls1,Sk))
        break
print("-".join(Lout))